iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0
Mobile Development

Android Studio 學習交流系列 第 17

[Day17]Android學習-資料庫介紹-SQLiteDataBase類別(2)

  • 分享至 

  • xImage
  •  

這篇是資料庫介紹第二篇,然後這篇主要介紹Android提供資料庫API下的類別,其中要介紹的是SQLiteDataBase類別,類別中提供了許多方法幫助開發者利用Android系統和資料庫作互動,以下將介紹各方法的應用:

SQLiteDataBase

SQLiteDataBase類別提供方法以便開發者管理資料庫。

exeSQL()

使用方法:
將方法的參數加入完整的SQL指令,可以處理資料庫的CREATE、INSERT、UPDATE、DELETE等操縱。
(p.s.沒有查詢的動作)

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    String txt = INSERT INTO table (id,name) values(1,"小明");
    db.execSQL(txt);

rawQuery()

使用方法:
將方法的參數加入完整的SQL指令,可以查詢資料庫的資料。

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    
    //  '*'即為查詢所有欄位
    String txt =SELECT * FROM  table;
    
    //  rawQuery回傳資料為Cursor型別
    Cursor cursor=db.rawQuery(txt,null);

query()

使用方法:
以參數式的方法輸入SQL語法,不需要輸入完整的SQL語法即可查詢資料庫的資料。

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    
    //  query回傳資料為Cursor型別
    Cursor cursor=db.query("table",new String[]{"name"},"id=1",null,null,null,null,null,null);

insert

使用方法:
透過ContentValues類別將資料打包,再透過SQLiteDataBase類別的方法insert新增資料。

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    
    //  建立ContentValues物件
    ContentValues contentvalues=new ContentValues();
    contentvalues.put("name","小名");
    db.insert("table",null,contentvalues);

update

使用方法:
透過ContentValues類別將資料打包,再透過SQLiteDataBase類別的方法update更新資料。

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    
    //  建立ContentValues物件
    ContentValues contentvalues=new ContentValues();
    contentvalues.put("name","小名");
    
    //  id=1代表更新id=1那一列的資料
    db.update("table",contentvalues,id=1,null);

delete

使用方法:
指定要刪除哪一列的資料,再透過SQLiteDataBase類別的方法delete刪除資料。

例如:

    //  openOrCreateDataBase是Activity類別的方法
    //  openOrCreateDataBase(創建資料庫檔案名稱,給予權限,null)
    SQLiteDataBase db=openOrCreateDataBase("db.db",MODE_PRIVATE,null);
    //  id=1代表刪除id=1那一列的資料(id為辨識不同列的差別)
    db.delete("table",id=1,null);

SQLiteDataBase類別完整的使用方法參見

這篇文章為介紹類別的方法,若文章有誤,歡迎分享

Thank you for your time!

下回待續

/images/emoticon/emoticon34.gif


上一篇
[Day16]Android學習-資料庫介紹-資料操縱(1)
下一篇
[Day18]Android學習-資料庫介紹-資料庫實作(3)
系列文
Android Studio 學習交流30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言